package pl.matt.media.manager;

import pl.matt.media.extractor.impl.MplayerFramesExtractor;
import pl.matt.media.manager.impl.AwtImageManager;
import pl.matt.media.manager.impl.ObjectsDetectorManagerImpl;
import pl.matt.media.manager.impl.VideoManagerImpl;

/**
 * @author mateusz
 *
 */
public abstract class MediaManagersFactory {

	private static ImageManager imageManager;
	private static VideoManager videoManager;
	private static ObjectsDetectorManager objectsDetectorManager;
	
	static {
		//imageManager = new JHLabsImageManager();
		imageManager = new AwtImageManager();
		
		VideoManagerImpl videoManagerImpl = new VideoManagerImpl();
		videoManagerImpl.setFramesExtactor(new MplayerFramesExtractor());
		videoManager = videoManagerImpl;
		
		objectsDetectorManager = new ObjectsDetectorManagerImpl();
		
	}
	
	public static ImageManager getImageManager() {
		return imageManager;
	}

	public static VideoManager getVideoManager() {
		return videoManager;
	}

	public static ObjectsDetectorManager getObjectsDetectorManager() {
		return objectsDetectorManager;
	}

	
}
